package com.kobeliu.service;

import com.kobeliu.enums.ArticleStatus;
import com.kobeliu.pojo.bo.EditArticleBO;
import com.kobeliu.pojo.vo.ArticleInfoVO;
import com.kobeliu.utils.PagedGridResult;

import java.util.List;

public interface ArticleService {
    /**
     * 保存文章
     * @param bo
     */
    void save(EditArticleBO bo);

    /**
     * 查询文章记录
     * @param page
     * @param limit
     */
    PagedGridResult list(ArticleStatus status,Integer page, Integer limit);

    /**
     * 发布文章
     * @param articleId
     */
    void publishArticle(String articleId);

    /**
     * 查询单条数据
     * @param articleId
     * @return
     */
    ArticleInfoVO detail(String articleId,ArticleStatus status);

    /**
     * 根据articleId 将status修改成delete
     * @param articleId
     * @return
     */
    void deleteById(String articleId);

    /**
     * 据articleId 将status修改成open
     * @param articleId
     */
    void openById(String articleId);

    /**
     * 累计次数
     * @param userId
     * @param articleId
     */
    void appRead(String userId, String articleId);
}
